if (object instanceof NativeArray)
return new ArrayArgumentReader(this, (NativeArray) object);
else if (object instanceof Scriptable)
return new MapArgumentReader(this, (Scriptable) object);
else if (object instanceof String)
return new StringArgumentReader(this, (String) object);
return null;
}