public <E> boolean validateSignature(Passable<E> sig, PublicKey pKey)
			throws NoSuchAlgorithmException {

		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		ObjectOutput out = null;

		try {
			out = new ObjectOutputStream(bos);
			out.writeObject(sig.data);
			bos.close();
			out.close();
		} catch (IOException e1) {
			System.exit(0);
			return false;
		}

		final byte[] data = bos.toByteArray();

		return validateSignatureFromByteArray(sig.signature, data, pKey);
	}