@Override
public VisitResult visit(VisitContext context, UIComponent target) {
if (target instanceof AbstractChartPoint) {
AbstractChartPoint p = (AbstractChartPoint) target;
Object x = p.getX();
Object y = p.getY();
// the first point determine type of data model
if (model == null) {
if (x instanceof Number && y instanceof Number) {
model = new NumberChartDataModel(type);