code: public static boolean mergeLTI1Custom(Properties custom, String customstr) 
  	{
  		if ( customstr == null || customstr.length() < 1 ) return true;
  
  		String [] params = customstr.split("[\n;]");
  		for (int i = 0 ; i < params.length; i++ ) {
  			String param = params[i];
  			if ( param == null ) continue;
  			if ( param.length() < 1 ) continue;
  
  			int pos = param.indexOf("=");
  			if ( pos < 1 ) continue;
  			if ( pos+1 > param.length() ) continue;
  			String key = mapKeyName(param.substring(0,pos));
  			if ( key == null ) continue;
  
  			if ( custom.containsKey(key) ) continue;
  
  			String value = param.substring(pos+1);
  			if ( value == null ) continue;
  			value = value.trim();
  			if ( value.length() < 1 ) continue;
  			setProperty(custom, key, value);
  		}
  		return true;
  	}
docs: /* Two possible formats:
  
  key=val;key2=val2;
  
  key=val
  key2=val2