Node current = node; boolean finished=false; do {
PropertyList current = node; while(!current.isRoot()) {
    public StepExecutionResult execute(StepExecutionResult state) throws CdlResolutionException {        PropertyList node = state.getNode();        Node current = node;        boolean finished=false;        do {            Node parent = node.getParent();            if (parent == null) {                throw new CdlResolutionException(ERROR_NO_STEP_UP + node + ERROR_ORPHAN_NODE, state);            }            if(parent instanceof ToplevelList) {                finished=true;            } else {                current=parent;            }        } while(!finished);        return state.next((PropertyList) current);    }