OpenLayers WFS with OpenLayers.StrategyFilter and Filter Logical

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js"></script>
<body onload="init()">
    <p>OpenLayers WFS with OpenLayers.StrategyFilter and Filter Logical
        <br/>OpenLayers.Filter.Comparison, OpenLayers.Filter.Logical, OpenLayers.Filter.Comparison.IS_NULL</p>
    <div id="button1">Click to delete filter and reload wfs layer</div>Features Count: <span id="before">xx</span> 
    <br />
    <div id="map"></div>
</body>

CSS

#map {
    width: 100%;
    height: 400px;
}
#button1 {
    width:400px;
    background: yellow;
    border:1px solid red;
}

JavaScript

var map;
var layer, wms, refresh, parent_type_filter, filter_featureclass;

function init() {
    map = new OpenLayers.Map('map');
    wms = new OpenLayers.Layer.WMS(
        "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {
        layers: 'basic'
    });



    var attribute = "MAX_POP50";


    var filter_zero = new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.EQUAL_TO,
        property: attribute,
        value: 0
    });

    var filter_null = new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.IS_NULL,
        property: attribute
    });


    var filter_not_null = new OpenLayers.Filter.Logical({
        type: OpenLayers.Filter.Logical.NOT
    });

    filter_not_null.filters.push(filter_null);

    parent_type_filter = new OpenLayers.Filter.Logical({
        type: OpenLayers.Filter.Logical.OR,
        filters: [filter_zero, filter_featureclass]
    });

    var wfsNameIsNotNullFilter = new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
        property: attribute,
        value: ""
    });

    var wfsTypeFilters = [
    new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.EQUAL_TO,
        property: "NAME",
        value: 'Nowra'
    }),
    new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.EQUAL_TO,
        property: "NAME",
        value: 'Ulladulla'
    }),
    new OpenLayers.Filter.Comparison({
        type: OpenLayers.Filter.Comparison.EQUAL_TO,
        property: "NAME",
        value: 'Batemans Bay'
    })];

    var parent_type_filter = new OpenLayers.Filter.Logical({
        type: OpenLayers.Filter.Logical.OR,
        filters: wfsTypeFilters
    });


    refresh = new OpenLayers.Strategy.Refresh({
        force: true,
        active: true
    });

    layer = new OpenLayers.Layer.Vector("WFS", {

        strategies: [new OpenLayers.Strategy.BBOX(), refresh],
        protocol: new...