This method makes sure, that sub keys do consist of sub key packets.
Bouncycastle versions up to and including 1.60 created PGPSecretKeyRings which sub keys consisted of
normal public key packets, which would result in lost keys when converting PGPSecretKeyRings to PGPPublicKeyRings.
This method throws a RuntimeException of a NoSuchFieldException or IllegalAccessException.
secretKeys - possibly faulty PGPSecretKeyRing
decryptor - decryptor in case the keys are encrypted (can be null)
encryptor - encryptor to re-encrypt the keys in case they are encrypted (can be null)
org.bouncycastle.openpgp.PGPException - in case we cannot dismantle or reassemble the key.