public void setup(final EvolutionState state, final Parameter base) {
    // very important, remember this
    super.setup(state, base);

    // set up our input -- don't want to use the default base, it's unsafe here
    input =
        (DoubleData)
            state.parameters.getInstanceForParameterEq(base.push(P_DATA), null, DoubleData.class);
    input.setup(state, base.push(P_DATA));
  }
 public Object clone() {
   Kernel_GP_problem newobj = (Kernel_GP_problem) (super.clone());
   newobj.input = (DoubleData) (input.clone());
   return newobj;
 }