% APPENDPARAM appends a parameter to the plist of the given block.
%
% CALL:   wb.appendParam(blockname, param)
%         wb.appendParam(blockname, 'key', value)
%
% M Hewitson 13-11-08
%
% $Id: appendParam.m,v 1.2 2010/08/06 19:10:48 ingo Exp $
%
function appendParam(wb, blockname, varargin)
  
  % Parse input
  if numel(varargin) == 1 && isa(varargin{1}, 'param')
    pm = varargin{1};
  elseif numel(varargin) == 2 && ischar(varargin{1})
    pm = param(varargin{1}, varargin{2});
  else
    error('### Unknown inputs.');
  end
  
  % get the block with this name
  b = awtinvoke(wb.mp, 'getBlockByName', blockname);
  
  % Convert the plist to a java plist
  pl = LTPDAworkbench.jpl2mpl(b.getPlist());
  pl.append(pm);
  
  % Convert the plist to a java plist
  jpl = LTPDAworkbench.mpl2jpl(pl);
  
  % set the plist
  b.setPlist(jpl);
end
