/*
 * Copyright (c) 2012 Mateusz Parzonka, Eric Bodden
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * Mateusz Parzonka - initial API and implementation
 */
package prm4j.indexing;

import prm4j.api.BaseEvent;
import prm4j.api.MatchHandler;

public abstract class BaseMonitorState {

    public abstract BaseMonitorState getSuccessor(BaseEvent baseEvent);

    public abstract boolean isFinal();

    public abstract MatchHandler getMatchHandler();

}
@@ -459,49 +459,672 @@
 er;%0A
-%0Apublic abstract class BaseMonitorState %7B
+import prm4j.indexing.realtime.LowLevelBinding;%0A%0Apublic abstract class BaseMonitorState %7B%0A%0A    private boolean%5B%5D acceptingParameters;%0A%0A    /**%0A     * Tests, if a accepting state can be reached by some event in the future. Checks interally, if all bindings are%0A     * still alive, needed to reach a accepting state.%0A     *%0A     * @param bindings bindings to be checked%0A     * @return true, if accepting state can be reached%0A     */%0A    public boolean isFinalStateReachable(LowLevelBinding%5B%5D bindings) %7B%0A%09for (LowLevelBinding b : bindings) %7B%0A%09    if (acceptingParameters%5Bb.getParameterId()%5D) %7B%0A%09%09if (b.get() == null)%0A%09%09    return false;%0A%09    %7D%0A%09%7D%0A%09return true;%0A    %7D
 %0A%0A  
@@ -1287,9 +1287,137 @@
 ler();%0A%0A
+    public void setAcceptingParameters(boolean%5B%5D acceptingParameters) %7B%0A%09this.acceptingParameters = acceptingParameters;%0A    %7D%0A%0A
 %7D

Add reachable accepting state check in BaseMonitorState