public int difference(Map<IndexEntry, Revision> item, List<IndexEntry> entries) { int difference = 0; if (entries.size() != item.keySet().size()) return -1; for (IndexEntry entry : entries) { Revision b = null; for (Map.Entry<IndexEntry, Revision> entryAndRevision : item.entrySet()) { IndexEntry e = entryAndRevision.getKey(); if (e.getFile().equals(entry.getFile())) b = entryAndRevision.getValue(); } if (b == null) return -1; if (!entry.getObject().equals(b.getSha1().getName())) difference++; } return difference; }