if (sInst.charAt(0)==startChar) { // To compare key-to-key, both strings must be keys
String[] skeys=Split.split(startChar,sInst);
String[] pkeys=Split.split(startChar,pInst);
if (sInst.charAt(0)==startChar) { // To compare key-to-key, both strings must be keys
String[] skeys=Split.split(startChar,sInst);
String[] pkeys=Split.split(startChar,pInst);
boolean pass = true;
for (int i=1;pass && i<skeys.length;++i) { // We start at 1, because the first one, being ":" is always ""
boolean pass = true;
for (int i=1;pass && i<skeys.length;++i) { // We start at 1, because the first one, being ":" is always ""
pass = false;
for (String sItem : Split.split(LIST_SEP,skeys[i])) { // allow for "," definition in Action
if (pkeys[i].length()==0) {
pass = false;
for (String sItem : Split.split(LIST_SEP,skeys[i])) { // allow for "," definition in Action
if (pkeys[i].length()==0) {