@Override
 public AbstractVariableDeclaration clone() {
   AbstractVariableDeclaration clone = (AbstractVariableDeclaration) super.clone();
   clone.variable = variable == null ? null : variable.clone();
   clone.value = value == null ? null : value.clone();
   clone.configureParentToAllChilds();
   return clone;
 }
 public AbstractVariableDeclaration(AbstractVariableDeclaration copy) {
   this(copy.getUnderlyingStructure(), copy.getVariable(), copy.getValue());
 }