ConditionalAdapter extends PowerAdapter { @Override public boolean hasStableIds() { return mAdapter.hasStableIds(); } ConditionalAdapter(@NonNull PowerAdapter adapter, @NonNull Condition condition); @Override int getItemCount(); @Override boolean hasStableIds(); @Override long getItemId(int position); @NonNull @Override Object getItemViewType(int position); @Override boolean isEnabled(int position); @NonNull @Override View newView(@NonNull ViewGroup parent, @NonNull Object viewType); @Override void bindView(
            @NonNull Container container,
            @NonNull View v,
            @NonNull Holder holder,
            @NonNull List<Object> payloads
    );  }
@Test public void parentForwardsStableIds() { setCondition(always()); mConditionalAdapter.hasStableIds(); verify(mFakeAdapter).hasStableIds(); assertItemCountConsistent(); }