Cluster implements Contextual { @Override public int hashCode() { int result = clients.hashCode(); result = 31 * result + stripes.hashCode(); return result; } private  Cluster(); boolean isEmpty(); Stream<Client> clientStream(); Stream<Stripe> stripeStream(); Map<String, Client> getClients(); int getClientCount(); Map<String, Stripe> getStripes(); int getStripeCount(); Stripe getSingleStripe(); boolean addClient(Client client); Optional<Client> getClient(Context context); Optional<Client> getClient(ClientIdentifier clientIdentifier); Optional<Client> getClient(String id); Optional<Client> removeClient(String id); boolean addStripe(Stripe stripe); Optional<Stripe> getStripe(Context context); Optional<Stripe> getStripe(String id); Optional<Stripe> removeStripe(String id); Optional<ServerEntity> getActiveServerEntity(Context context); Optional<ServerEntity> getServerEntity(Context context); Optional<Server> getServer(Context context); List<? extends Node> getNodes(Context context); String getPath(Context context); Stream<ServerEntity> serverEntityStream(); Stream<ServerEntity> activeServerEntityStream(); Stream<Server> serverStream(); @Override Context getContext(); @Override void setContext(Context context); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); @SuppressWarnings("rawtypes") Map<String, Object> toMap(); static Cluster create();  }
@Test public void test_equals_hashcode() { assertEquals(cluster2, cluster1); assertEquals(cluster2.hashCode(), cluster1.hashCode()); }