I have a user defined java class that reads from an parameter passed to the job and is throwing this error

ERROR 18-04 17:39:00,872 - User Defined Java Class - org.pentaho.di.core.exception.KettleStepException:
Unable to find In field helper for field name 'dynamic_param1'


at org.pentaho.di.trans.steps.userdefinedjavaclass.TransformClassBase.get(TransformClassBase.java:706)
at Processor.processRow(Processor.java:31)
at org.pentaho.di.trans.steps.userdefinedjavaclass.UserDefinedJavaClass.processRow(UserDefinedJavaClass.java:1181)
at org.pentaho.di.trans.step.RunThread.run(RunThread.java:50)
at java.lang.Thread.run(Thread.java:662)

Here is UDJC

Code:

String paramField;
String dateField;
String nameField;


public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
    // First, get a row from the default input hop
    //
    Object[] nr = RowDataUtil.allocateRowData(data.outputRowMeta.size());
    Object[] r = getRow();


    // If the row object is null, we are done processing.
    //
    if (r == null) {
        setOutputDone();
        return false;
    }


    // Let's look up parameters only once for performance reason.
    //
    if (first) {
        paramField = getParameter("nameDynamic");
        dateField = getParameter("TestDateString");
        nameField = getParameter("staticNameOut");
        first=false;
    }




 
    String paramName = get(Fields.In, paramField).getString(r);
    String lastDate = get(Fields.In, dateField).getString(r);
    
    String name = paramName;


      
    get(Fields.Out, nameField).setValue(nr, name);
    get(Fields.Out, dateField).setValue(nr, lastDate);
   
    // putRow will send the row on to the default output hop.
    //
    putRow(data.outputRowMeta, nr);


    return true;
}