public static function build()
{
$encoders = [new JsonEncoder(new JsonEncode(), new JsonDecode(false)), new RawEncoder()];
$normalizers = NormalizerFactory::create();
$serializer = new Serializer($normalizers, $encoders);
$clientGenerator = GeneratorFactory::build();
$prettyPrinter = new \PhpParser\PrettyPrinter\Standard();
$naming = new Naming();
$modelGenerator = new ModelGenerator($naming);
$normGenerator = new NormalizerGenerator($naming);
return new self($serializer, GuesserFactory::create($serializer), $modelGenerator, $normGenerator, $clientGenerator, $prettyPrinter);
}