Validate attributes of this object.

    Check that this object has all required values set to a valid value without
    reference to the rest of the schedule. If the _schedule attribute is set
    then check that references such as route_id and service_id are correct.

    Args:
      problems: A ProblemReporter object
      validate_children: if True and the _schedule attribute is set than call
                         ValidateChildren

def Validate(self, problems, validate_children=True):
    """Validate attributes of this object.

    Check that this object has all required values set to a valid value without
    reference to the rest of the schedule. If the _schedule attribute is set
    then check that references such as route_id and service_id are correct.

    Args:
      problems: A ProblemReporter object
      validate_children: if True and the _schedule attribute is set than call
                         ValidateChildren
    """
    self.ValidateRouteId(problems)
    self.ValidateServicePeriod(problems)
    self.ValidateDirectionId(problems)
    self.ValidateTripId(problems)
    self.ValidateShapeIdsExistInShapeList(problems)
    self.ValidateRouteIdExistsInRouteList(problems)
    self.ValidateServiceIdExistsInServiceList(problems)
    self.ValidateBikesAllowed(problems)
    self.ValidateWheelchairAccessible(problems)
    if self._schedule and validate_children:
      self.ValidateChildren(problems)