/**
  * Apply the resolve config of types that are used by query fields
  *
  * @param SchemaContainer $schemaContainer
  * @param Field           $field
  */
 private function mergeResolveConfig(SchemaContainer $schemaContainer, Field $field)
 {
     $typeName = TypeParser::getFinalType($field->getType());
     if ($schemaContainer->hasType($typeName)) {
         $typeConfig = $schemaContainer->getType($typeName)->getResolveConfig();
     } elseif ($schemaContainer->hasInterface($typeName)) {
         $typeConfig = $schemaContainer->getInterface($typeName)->getResolveConfig();
     } else {
         return;
     }
     $field->mergeResolveConfig($typeConfig);
 }
 /**
  * @param SchemaContainer $schemaContainer
  */
 private function defineInteracesChildren(SchemaContainer $schemaContainer)
 {
     foreach ($schemaContainer->getTypes() as $type) {
         if (null === $type->getModel()) {
             continue;
         }
         foreach ($type->getInterfaces() as $interfaceName) {
             $interface = $schemaContainer->getInterface($interfaceName);
             $interface->setChildClass($type->getName(), $type->getModel());
         }
     }
 }