java doc abstract state