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

        HeaderV4 header = (HeaderV4) o;

        if (agentStartTime != header.agentStartTime) return false;
        if (socketId != header.socketId) return false;
        if (serviceType != header.serviceType) return false;
        if (name != null ? !name.equals(header.name) : header.name != null) return false;
        if (agentId != null ? !agentId.equals(header.agentId) : header.agentId != null) return false;
        if (applicationName != null ? !applicationName.equals(header.applicationName) : header.applicationName != null)
            return false;
        if (grpcBuiltInRetry != header.grpcBuiltInRetry) return false;
        if (supportCommandCodeList != null ? !supportCommandCodeList.equals(header.supportCommandCodeList) : header.supportCommandCodeList != null)
            return false;
        return properties != null ? properties.equals(header.properties) : header.properties == null;
    }
@author Woonduk Kang(emeroad)
@author jaehong.kim
grpc/src/main/java/com/navercorp/pinpoint/grpc/HeaderV4.java