float myPrefRight = children[i].preferred - myMinLeft;
float myPrefRight = children[i].preferred - myPrefLeft;
  getAlignedSizeRequirements(SizeRequirements[] children)  {    float minLeft = 0;    float minRight = 0;    float prefLeft = 0;    float prefRight = 0;    float maxLeft = 0;    float maxRight = 0;    for (int i = 0; i < children.length; i++)      {        float myMinLeft = children[i].minimum * children[i].alignment;        float myMinRight = children[i].minimum - myMinLeft;        minLeft = Math.max(myMinLeft, minLeft);        minRight = Math.max(myMinRight, minRight);        float myPrefLeft = children[i].preferred * children[i].alignment;        float myPrefRight = children[i].preferred - myMinLeft;        prefLeft = Math.max(myPrefLeft, prefLeft);        prefRight = Math.max(myPrefRight, prefRight);        float myMaxLeft = children[i].maximum * children[i].alignment;        float myMaxRight = children[i].maximum - myMinLeft;        maxLeft = Math.max(myMaxLeft, maxLeft);        maxRight = Math.max(myMaxRight, maxRight);      }    int minSize = (int) (minLeft + minRight);    int prefSize = (int) (prefLeft + prefRight);    int maxSize = (int) (maxLeft + maxRight);    return new SizeRequirements(minSize, prefSize, maxSize, 0.5F);  }