Google Guavaのような転送コレクションを作成するためのベスト プラクティスを探しています。たとえば、Scala の ForwardingList は次のようになります。
trait ForwardingList[T]
{
def delegate: List
}
ただし、多くの候補があるため、このリストのどの特性を拡張する必要があり、どのメソッドをオーバーライドする必要があるかは明確ではありません
List[T]
ListLike[T, ForwardingList[T]]
ListLike[T, List[T]]