public Timestamp getStartDate(String facilityId, Timestamp requiredBydate, boolean allNodes) {
Timestamp minStartDate = requiredBydate;
if ("WIP".equals(getProduct().getString("productTypeId")) || allNodes) {
ProposedOrder proposedOrder = new ProposedOrder(getProduct(), facilityId, facilityId, true, requiredBydate, getQuantity());
proposedOrder.calculateStartDate(0, null, delegator, dispatcher, userLogin);
Timestamp startDate = proposedOrder.getRequirementStartDate();
minStartDate = startDate;
for (int i = 0; i < childrenNodes.size(); i++) {
BOMNode oneChildNode = (BOMNode)childrenNodes.get(i);
if (oneChildNode != null) {