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;
	}
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;
	}
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 ; }
/* Two possible formats:

key=val;key2=val2;

key=val
key2=val2
/ * Two possible formats :