added Eclipse null safety annotations and getSafe methods