# determineFactoryMethod abstract method

Future<ExecutableHolder> determineFactoryMethod(

1. RootPodDefinition rpd,
2. String podName,
3. List<ArgumentValue>? explicitArgs

)

Determine which factory method should be used for pod creation.

# Parameters

- `rpd`: The root pod definition containing type and metadata.
- `podName`: The logical name of the pod being instantiated.
- `explicitArgs`: Optional explicitly provided arguments to prefer.

# Returns

An ExecutableHolder containing the chosen factory method and resolved arguments.

# Throws

- An exception if no valid factory method can be chosen.

## Implementation

    Future<ExecutableHolder> determineFactoryMethod(
      RootPodDefinition rpd,
      String podName,
      List<ArgumentValue>? explicitArgs,
    );