Тема: Дженерики. Несумісність сумістних об'єктів
Вітаю!
Виникла складність з дженеріком так як не докінця їх розумію. 
Програма виконується по плану, але зупиняюсь на тому, що не можу описати далі код так як типи невідповідні. В методі blockView класу TovarListBild який наслідується з класу MyBildActivity я отримаю потрібний мені об'єкт типу ServerTovarList (який наслідує ServerAnswer) в коді він записаний як обєкт типу ServerAnswer. Як правельно описати метод TovarListBild.blockView() щоб в ньому опрацьовувати результат вже як тип ServerTovarList.
Клас де є проблема:
public class TovarListBild extends MyBildActivity {
    TovarListBild(){ super(); }
    ServerTovarList stl;
    @Override
    public void blockView( ServerAnswer sc) {
        System.out.println("work");
        System.out.println("serverAnswer = " + sc);//влогах отримаю "serverAnswer = com.example.test.conect.ServerTovarList@e33c141" те що і потрібно мені.
        
        //але неможу записати це в такій формі.
        ServerTovarList stl = sc;//ПОМИЛКА!!! - Incompatible types. Found: 'com.example.test.conect.ServerAnswer', required: 'com.example.test.conect.ServerTovarList'
    }
}Все починається з цього класу:
public class TovarListActivity extends AppCompatActivity {
    User user;
    Context context = this;
    TovarListActivity TLA = TovarListActivity.this;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tovar_list);
    user = new User(getSharedPreferences("User", MODE_PRIVATE));
    
    ArrayList<String> otherParam = new ArrayList<String>();
        otherParam.add("");
        TovarListBild tlb = new TovarListBild();
        tlb.bild(TLA, context, user.getUserUrlIndentificator(), "tovar_list", otherParam);
    }
}Клас який наслідує клас TovarListBild 
public abstract class MyBildActivity<PA extends AppCompatActivity, SC extends ServerAnswer> {
    Context context;
    String user;
    MyBildActivity mba = MyBildActivity.this;
    PA PA;//parent activity //посилання на бітьківський обєкт
    MyError myError;
    SC sc;
    public void bild(PA PA, Context context, String user, String nameGetId, ArrayList<String> parametrs){
        ... запит на сервер ...
    }
    //даний метод запускається коли сервер відповідає
    public void resultServer(SC sc){
        this.sc = sc;
        if (sc.conectStatus){ blockView(this.sc); }else{ /*error*/ }
    }
    public abstract void blockView(SC sc);
}