@Override
    public boolean equals(Object o) {
        if (o == null || (!(o.getClass().equals(ListenerInfo.class)))) return false;
        ListenerInfo other = (ListenerInfo) o;
        return listeners.equals(other.listeners) &&
                firstListener().equals(other.firstListener());
    }
Create a new ListenerInfo object where ephemeral ports are populated with their true runtime
values.

In other words, if a port was set to 0, indicating that a random port should be assigned by the
operating system, this function will replace it with the value the operating system actually
chose.

@param getBoundPortCallback  The callback used to correct ephemeral endpoints.

@return A new ListenerInfo object.
metadata/src/main/java/org/apache/kafka/metadata/ListenerInfo.java