@startuml Person

class objectstructures.Person {
  -name: String
  -gender: char
  -children: List<Person>
  -mother: Optional<Person>
  -father: Optional<Person>
  +getGender(): char
  +getChildren(): Collection
  +getChildCount(): int
  +getChild(int n): Person
  +getMother(): Person
  +getFather(): Person
  +addChild(Person child): void
  +setFather(Person father): void
  +setMother(Person mother): void
  +removeChild(Person child): void
  +getName(): String
  -setParent(Person newParent, Optional<Person> currentParent, char gender): void
}

@enduml