     /**
      *  @private
      */ 
-    protected function isComplexColumn(property:String):Boolean
-    {
-        return property != null && property.indexOf( "." ) != -1;
+    protected function isComplexColumn( property:String ):Boolean
+    {
+        return ( property.indexOf( "." ) != -1 );
     }
 
     //Gets the reference to the parent object where a property will be updated

                var newData:Object = itemEditorInstance[_columns[event.columnIndex].editorDataField];
                var property:String = _columns[event.columnIndex].dataField;
                var data:Object = event.itemRenderer.data;
                var typeInfo:String = describeType(data).@name;
                for each (var variable:XML in describeType(data).variable)
                {
                    if (property == variable.@name.toString())
                    {

    /**
     *  @private
     */ 
    protected function getCurrentDataValue( data:Object, property:String ):String
    {
        if ( !isComplexColumn( property ) )
            return data[ property ];
        
        var complexFieldNameComponents:Array = property.split( "." );
        var obj:Object = deriveComplexFieldReference( data, complexFieldNameComponents );

        return String( obj );
    }

    //Passing all of these parameters as it basically allows everything you would need to subclass for all sorts of fun implementations
    /**
     *  @private
     */ 
    protected function setNewValue( data:Object, property:String, value:Object, columnIndex:int ):Boolean 
    {
        if ( !isComplexColumn( property ) )
        {
            data[ property ] = value;
        } 
        else 
        {
            var complexFieldNameComponents:Array = property.split( "." );
            var lastProp:String = complexFieldNameComponents.pop();
            var parent:Object = deriveComplexFieldReference( data, complexFieldNameComponents );
            parent[ lastProp ] = value;
        }
        
        //The value they typed in is always converted to a string, but is the value actually a string in the dataprovider?
