class PrivateKey {

    public static PrivateKey newInstance(byte[] seed) {
        switch (seed.length) {
            case 32:
                return PrivateKeyEd25519.fromBytes(seed);
            case 57:
                return PrivateKeyEd448.fromBytes(seed);
            default:
                throw new IllegalArgumentException("PrivateKey byte length " + seed.length + " is not supported.");
        }
    }

    protected  PrivateKey(byte[] value);

}