public void addPrivateAttachment(AttachmentProxy a) throws IOException, MartusCrypto.EncryptionException { BulletinHeaderPacket bhp = getBulletinHeaderPacket(); File rawFile = a.getFile(); if (rawFile != null) { SessionKey sessionKeyBytes = getSignatureGenerator().createSessionKey(); AttachmentPacket ap = new AttachmentPacket(getAccount(), sessionKeyBytes, rawFile, getSignatureGenerator()); bhp.addPrivateAttachmentLocalId(ap.getLocalId()); a.setPendingPacket(ap, sessionKeyBytes); } else { bhp.addPrivateAttachmentLocalId(a.getUniversalId().getLocalId()); } getPrivateFieldDataPacket().addAttachment(a); }