We need support for SFX archives

Hello. I need to extract SFX with it. I have made a test for it and tried to implement it.
I have added a search for a signature (naive, but maybe it will be better to implement some better algorithm) and then i had problems.
The first one is that there is some difference between SFX and not-sfx archive which cause headers and hashsumm corruption.
The second one is that the architecture of this library is a bit strange, so it will be good to change it.
For example we can use Builder pattern : divide the process into generic stages such as finding a signature and recognizing the type using it is the one stage, reading header is another, ... etc.
Because EVERY type of archive can be made sfx or embedded into JPEG.