GSON nie deserializuje odwołania do klasy zewnętrznej

W mojej aplikacji Java zdefiniowałem dwie klasy, zwaneA iB gdzieB jest klasą wewnętrznąA. Oba są definiowane jako możliwe do serializacji

public class A implements Serializable {

    int attrParent;
    List<B> items = new ArrayList<B>();

    public void setAttrParent(int attrParent) {
        this.attrParent = attrParent;
    }

    public int getAttrParent() {
        return attrParent;
    }

    public class B implements Serializable {

        private int attr;

        public void setAttr(int attr) {
            this.attr = attr;
        }

        public int getAttr() {
            return attr;
        }

        public int getSomeCalculationValue() {
            return this.attr * A.this.attrParent; // Problems occurs here
        }

    }
}

Przed serializując ten obiekt za pomocą GSON,getSomeCalculationValue działa w porządku. Ale,po serializowanie i deserializowanie,getSomeCalculationValue kończy się niepowodzeniemNullPointerException.

Dzieje się tak, ponieważ klasa wewnętrznaB nie ma odniesienia do klasy zewnętrznejA już, więc,A.this zawodzi.

Czy ktoś wie, jak mogę rozwiązać ten problem, czyli przywrócić wewnętrzne do zewnętrznego odniesienia podczas deserializacji tego obiektu?

questionAnswers(1)

yourAnswerToTheQuestion