public function addField($name, $parent, $position = self::POSITION_AFTER, $fallback = null, $fallbackPosition = self::POSITION_APPEND)
{
$this->validatePosition($position);
if (self::POSITION_BEFORE === $fallbackPosition || self::POSITION_AFTER === $fallbackPosition) {
throw new PalettePositionException('Fallback legend position can only be PREPEND or APPEND');
}
$this->fields[] = ['fields' => (array) $name, 'parents' => (array) $parent, 'position' => $position, 'fallback' => is_scalar($fallback) ? [$fallback] : $fallback, 'fallbackPosition' => $fallbackPosition];
return $this;
}