}
*/
public void walk(String tag) {
+ if (tag==null) return;
Member m = member(normalize(tag), 0, false);
if (m!=null) Reflection.fuzzyInvoke(target, m);
}
+ protected Object defaultWalk(String tag, Object[] argo) { return super.walk(tag, argo); }
public Object walk(String tag, Object[] argo) {
if (argo.length==0) return super.walk(tag, argo);
if (argo==null) return tag;
if (tag==null || "".equals(tag)) return argo;
- Member m = member(normalize(tag), argo.length, argo.length>0);
- if (m==null) return super.walk(tag, argo);
+ Member m = tag==null ? null : member(normalize(tag), argo.length, false);
+ if (m==null) return defaultWalk(tag, argo);
//System.out.println("preparing to invoke method " + (m==null ? "null" : (m.toString())) + " for sequence " + (owner()+"."+tag));
if (m != null) return Reflection.fuzzyInvoke(target, m, argo);
if (argo.length==0) return null;