public Version put(final String key, final byte[] data, final List<Version> parents) { try { Tree root = getLatestRoot(); for (Version parent : parents) { VersionImpl version = (VersionImpl) parent; TreeEntry treeMember = root.findBlobMember(version.getEntry().getFullName()); if (treeMember != null) { treeMember.delete(); } } VersionImpl version = updateTree(root, key, data); return version; } catch (Exception e) { throw new SwarmdbException("Unable to update key: " + key, e); } }