aspect Concrete2 extends Caching {
   declare parents:
   Item implements  ToBeCached;

   pointcut getValue(ToBeCached t): target(t) && call(* Item.check(..));
   
   pointcut invalidate(ToBeCached t): target(t) && call(* Container.addItem(..));
}

