@Nonnull
    public static <T> MockSupplier create (@Nonnull final Class <T> aDstClass,
                                           @Nonnull final Param [] aParams,
                                           @Nonnull final Function <IGetterDirectTrait [], T> aSupplier)
    {
      ValueEnforcer.notNull (aDstClass, "DstClass");
      ValueEnforcer.notNull (aParams, "Params");
      ValueEnforcer.notNull (aSupplier, "Supplier");
      return new MockSupplier (aDstClass, aParams, aSupplier);
    }
@ Nonnull public static < T > MockSupplier create ( @ Nonnull final Class < T > aDstClass , @ Nonnull final Param [ ] aParams , @ Nonnull final Function < IGetterDirectTrait [ ] , T > aSupplier ) { ValueEnforcer . notNull ( aDstClass , "DstClass" ) ; ValueEnforcer . notNull ( aParams , "Params" ) ; ValueEnforcer . notNull ( aSupplier , "Supplier" ) ; return new MockSupplier ( aDstClass , aParams , aSupplier ) ; }
Create a mock supplier with parameters.

@param aDstClass
The destination class to be mocked. May not be <code>null</code>.
@param aParams
The parameter declarations to be used. May not be
<code>null</code>.
@param aSupplier
The generic function to be invoked. Must take an array of
{@link IGetterDirectTrait} and return an instance of the passed
class.
@return Never <code>null</code>.
@param <T>
The type to be mocked