@SuppressWarnings("unchecked") private static HeapOperand<Object>[] extendHArray(HeapOperand<Object>[] H){
  HeapOperand<Object>[] res;
  if (H == null) {
    res=new HeapOperand[1];
  }
 else {
    res=new HeapOperand[H.length + 1];
    for (int i=0; i < H.length; ++i) {
      res[i + 1]=H[i];
    }
  }
  return res;
}

@ SuppressWarnings ( "unchecked" ) private static HeapOperand < Object > [ ] extendHArray ( HeapOperand < Object > [ ] H ) { HeapOperand < Object > [ ] res ; if ( H == null ) { res = new HeapOperand [ 1 ] ; } else { res = new HeapOperand [ H . length + 1 ] ; for ( int i = 0 ; i < H . length ; ++ i ) { res [ i + 1 ] = H [ i ] ; } } return res ; }
returns a copy of h with an additional free slot at position 0
