private function getAllImplementsInterfaceNodes(ObjectType $type, $iface)
    {
        $implementsNodes = [];
        $astNodes        = $this->getAllObjectOrInterfaceNodes($type);

        foreach ($astNodes as $astNode) {
            if (! $astNode || ! $astNode->interfaces) {
                continue;
            }

            foreach ($astNode->interfaces as $node) {
                if ($node->name->value !== $iface->name) {
                    continue;
                }

                $implementsNodes[] = $node;
            }
        }

        return $implementsNodes;
    }
private function getAllImplementsInterfaceNodes(ObjectType $type, $iface)
    {
        $implementsNodes = [];
        $astNodes        = $this->getAllObjectOrInterfaceNodes($type);

        foreach ($astNodes as $astNode) {
            if (! $astNode || ! $astNode->interfaces) {
                continue;
            }

            foreach ($astNode->interfaces as $node) {
                if ($node->name->value !== $iface->name) {
                    continue;
                }

                $implementsNodes[] = $node;
            }
        }

        return $implementsNodes;
    }
@param InterfaceType $iface

@return NamedTypeNode[]