private void clearNearCache(Block block) {
        String selfMeta = null;
        String neighborMeta = null;

        if (block.getType() == Material.WALL_SIGN) {
            selfMeta = FILTER_INVENTORY;
            neighborMeta = HopperFilter.MATCHERS;
        } else if (block.getType() == Material.HOPPER) {
            selfMeta = HopperFilter.MATCHERS;
            neighborMeta = FILTER_INVENTORY;
        }

        if (selfMeta != null && neighborMeta != null) {
            if (block.hasMetadata(selfMeta)) {
                block.removeMetadata(selfMeta, plugin);
            }

            for (BlockFace direction: HopperFilter.signDirections) {
                Block neighbor = block.getRelative(direction);
                if (neighbor.hasMetadata(neighborMeta)) {
                    neighbor.removeMetadata(neighborMeta, plugin);
                }
            }
        }
    }