/* Push an element onto the Stack for Expression Dependencies. */
EFI_STATUS PushDependencyStack(IN OUT HII_DEPENDENCY_EXPRESSION ***Stack, IN OUT HII_DEPENDENCY_EXPRESSION ***StackPtr, IN OUT HII_DEPENDENCY_EXPRESSION ***StackEnd, IN HII_DEPENDENCY_EXPRESSION **Data)
/* Push an element onto the Stack for Expression Dependencies. */
EFI_STATUS PushDependencyStack(IN OUT HII_DEPENDENCY_EXPRESSION ***Stack, IN OUT HII_DEPENDENCY_EXPRESSION ***StackPtr, IN OUT HII_DEPENDENCY_EXPRESSION ***StackEnd, IN HII_DEPENDENCY_EXPRESSION **Data)
{
  EFI_STATUS  Status;
  if (*StackPtr >= *StackEnd) {
    Status = GrowDependencyStack (Stack, StackPtr, StackEnd);
    if (EFI_ERROR (Status)) {
      return Status;
    }
  }
  CopyMem (*StackPtr, Data, sizeof (HII_DEPENDENCY_EXPRESSION *));
  *StackPtr = *StackPtr + 1;
  return EFI_SUCCESS;
}