Java domain model driven design case