@Override
    public int hashCode() {

        int result = streamStateElement1 != null ? streamStateElement1.hashCode() : 0;
        result = 31 * result + (type != null ? type.hashCode() : 0);
        result = 31 * result + (streamStateElement2 != null ? streamStateElement2.hashCode() : 0);
        return result;
    }
Logical state element used in pattern to handle logical operations
modules/siddhi-query-api/src/main/java/io/siddhi/query/api/execution/query/input/state/LogicalStateElement.java