System.out.println(" bi = null ");
log.debug(" bi = null ");
   public Graphics2D getDrawingArea() {      try {         synchronized (lock) {            // wait until there is something to read            while (bi == null) {               System.out.println(" bi = null ");               lock.wait();            }            // we have the lock and state we're seeking            Graphics2D g2;            g2 = bi.createGraphics();            // tell waiting threads to wake up            lock.notifyAll();            return g2;         }      }      catch (InterruptedException ie) {         System.out.println("getDrawingarea : " + ie.getMessage());         return null;      }   }