@Override public void pushContext(){
  super.pushContext();
  if (fCurrentContext + 1 == fValidContext.length) {
    boolean[] contextarray=new boolean[fValidContext.length * 2];
    System.arraycopy(fValidContext,0,contextarray,0,fValidContext.length);
    fValidContext=contextarray;
  }
  fValidContext[fCurrentContext]=true;
}

@ Override public void pushContext ( ) { super . pushContext ( ) ; if ( fCurrentContext + 1 == fValidContext . length ) { boolean [ ] contextarray = new boolean [ fValidContext . length * 2 ] ; System . arraycopy ( fValidContext , 0 , contextarray , 0 , fValidContext . length ) ; fValidContext = contextarray ; } fValidContext [ fCurrentContext ] = true ; }
pushes a new context onto the stack .
