protected function prepareMosaic($mosaic)
    {
        if ($mosaic instanceof Mosaic) {
            return $mosaic;
        }
        elseif (is_string($mosaic)) {
            return Mosaic::create($mosaic);
        }
        elseif (is_array($mosaic)) {
            $fqmn = $mosaic["namespaceId"] . ":" . $mosaic["name"];
            return Mosaic::create($fqmn);
        }

        throw new InvalidArgumentException("Unsupported mosaic argument type provided to \\NEM\\Models\\MosaicDefinitions: ", var_export($mosaic));
    }