class DefaultPortChain implements PortChain {

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj instanceof DefaultPortChain) {
            DefaultPortChain that = (DefaultPortChain) obj;
            return Objects.equals(portChainId, that.portChainId) &&
                    Objects.equals(tenantId, that.tenantId) &&
                    Objects.equals(name, that.name) &&
                    Objects.equals(description, that.description) &&
                    Objects.equals(portPairGroupList, that.portPairGroupList) &&
                    Objects.equals(flowClassifierList, that.flowClassifierList);
        }
        return false;
    }

    private  DefaultPortChain(PortChainId portChainId, TenantId tenantId,
            String name, String description,
            List<PortPairGroupId> portPairGroupList,
            List<FlowClassifierId> flowClassifierList,
            PortChain portChain);

}