This assumes ProtoFile doesn't implement equals & hashCode