@SuppressWarnings("unchecked") private <T> Map<String, T> getPrivateField(String field) { try { Field f = builder.getClass().getDeclaredField(field); f.setAccessible(true); return copyObject((Map<String, T>) f.get(builder)); } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException("Couldn't get " + field + " from TopologyBuilder", e); } }