@Override
    public int hashCode() {

        int result = stateType != null ? stateType.hashCode() : 0;
        result = 31 * result + (stateElement != null ? stateElement.hashCode() : 0);
        result = 31 * result + (streamIdList != null ? streamIdList.hashCode() : 0);
        result = 31 * result + (withinTime != null ? withinTime.hashCode() : 0);
        return result;
    }
Input stream that handle states in query
modules/siddhi-query-api/src/main/java/io/siddhi/query/api/execution/query/input/stream/StateInputStream.java