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