fix #20: Return default value is source is null