interface OuterQueue extends Queue
{
/**
* @return Queue
*/
public function getInnerQueue();
}
class TypeSafeQueue implements OuterQueue
{
...
}
interface QueueAware
{
/**
* @return Queue
*/
public function getQueue();
}
class TypeSafeQueue implements Queue, QueueAware
{
...
}