/**
  * Deletes a <tt>WhiteboardShape</tt> from the white-board.
  *
  * @param wbSession the white-board session, to which the object belongs
  * @param ws the shape to delete
  */
 public void deleteWhiteboardObject(WhiteboardSession wbSession, WhiteboardShape ws) {
   try {
     wbSession.deleteWhiteboardObject(ws);
   } catch (OperationFailedException ex) {
     ex.printStackTrace();
   }
 }
  @Test
  public void test() {
    SynchronizedArrayListPipe<String> pipe = new SynchronizedArrayListPipe<>();
    try {
      pipe.put("foo");
      pipe.put("bar");
      assertEquals(false, pipe.isClosed());
      assertEquals(false, pipe.isEmpty());
      assertEquals("foo", pipe.get());
      assertEquals("bar", pipe.get());
    } catch (PipeClosedException e) {
      e.printStackTrace();
      fail("Pipe closed prematurely");
    } catch (OperationFailedException e) {
      e.printStackTrace();
      fail("Pipe operation failed");
    }

    assertEquals(true, pipe.isEmpty());
    assertEquals(false, pipe.isClosed());
  }