@Override
  public Optional<Object> removeCustomContextData(String key)
  {
    return getCustomContextData(key).isPresent() ? Optional.of(_customRequestContext.remove(key)) : Optional.empty();
  }
@Test
  public void testRemoveCustomContextData() throws RestLiSyntaxException
  {
    final ResourceContextImpl context = new ResourceContextImpl();
    String bar = "bar";
    context.putCustomContextData("foo", bar);
    Optional<Object> barRemove = context.removeCustomContextData("foo");
    Optional<Object> barAfterRemove = context.getCustomContextData("foo");
    Assert.assertSame(barRemove.get(), bar);
    Assert.assertFalse(barAfterRemove.isPresent());
  }