I'm not sure I understand what you are saying. This is a basic facade (GOF, pg185). A parameter has metadata associated with it - name, ordinal position, data type, etc. This data is immutable at runtime. The parameter value is not. A value holder is simply a class that can contain any value of a certain datatype. A parameter value is therefore the association of a parameter definition with its value holder. The parameter value object is therefore a facade to both Parameter and ValueHolder.

Thus there is nothing wrong (in fact, it is a standard design pattern) with the following code:

public string getName() {

  return parameter.getName();