return null;
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);
  getAlignedSizeRequirements(SizeRequirements[] children)  {    return null; // TODO  }