@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        PortInfo portInfo = (PortInfo) o;

        if (port != portInfo.port) return false;
        if (tags != null ? !tags.equals(portInfo.tags) : portInfo.tags != null) return false;

        return true;
    }
@Test
    public void testEquals() {
        PortInfo a = new PortInfo(1234, List.of("foo"));
        PortInfo b = new PortInfo(1234, List.of("foo"));
        PortInfo c = new PortInfo(1234, List.of("foo", "bar"));
        PortInfo d = new PortInfo(12345, List.of("foo"));
        assertEquals(a, b);
        assertNotEquals(a, c);
        assertNotEquals(a, d);
        assertNotEquals(c, d);
    }