anchor.diff:          BoxConstraints innerConstraints = new BoxConstraints(maxHeight: constraints.maxHeight,
                                                                maxWidth: constraints.maxWidth);
           child.layout(innerConstraints, parentUsesSize: true);
  -        freeSpace -= (_direction == FlexDirection.horizontal) ? child.size.width : child.size.height;
  +        freeSpace -= _getMainSize(child);
  +        crossSize = math.max(crossSize, _getCrossSize(child));
         }
         child = child.parentData.nextSibling;
       }
  
positive.code:             innerConstraints = new BoxConstraints(maxHeight: constraints.maxHeight,
                                                    minWidth: spaceForChild,
                                                    maxWidth: spaceForChild);
              child.layout(innerConstraints, parentUsesSize: true);
              usedSpace += child.size.width;
              crossSize = math.max(crossSize, child.size.height);
              break;
            case FlexDirection.vertical:
              innerConstraints = new BoxConstraints(minHeight: spaceForChild,
                                                    maxHeight: spaceForChild,
                                                    maxWidth: constraints.maxWidth);
              child.layout(innerConstraints, parentUsesSize: true);
              usedSpace += child.size.height;
              crossSize = math.max(crossSize, child.size.width);
              break;
          }
        }
        child = child.parentData.nextSibling;
      }
  
negative.code:     return child.parentData.flex != null ? child.parentData.flex : 0;
    }
  
    double _getCrossSize(RenderBox child) {
      return (_direction == FlexDirection.horizontal) ? child.size.height : child.size.width;
    }
  
    double _getMainSize(RenderBox child) {
      return (_direction == FlexDirection.horizontal) ? child.size.width : child.size.height;
    }
  
    void performLayout() {
      // Based on http://www.w3.org/TR/css-flexbox-1/ Section 9.7 Resolving Flexible Lengths
      // Steps 1-3. Determine used flex factor, size inflexible items, calculate free space
  