private void start(List<ValidationMessage> errors, WrapperElement resource, WrapperElement element, StructureDefinition profile, NodeStack stack) throws FHIRException {
    // profile is valid, and matches the resource name
    if (rule(errors, IssueType.STRUCTURE, element.line(), element.col(), stack.getLiteralPath(), profile.hasSnapshot(),
        "StructureDefinition has no snapshot - validation is against the snapshot, so it must be provided")) {
			validateElement(errors, profile, profile.getSnapshot().getElement().get(0), null, null, resource, element, element.getName(), stack, false);

			checkDeclaredProfiles(errors, resource, element, stack);

      // specific known special validations
      if (element.getResourceType().equals("Bundle"))
        validateBundle(errors, element, stack);
      if (element.getResourceType().equals("Observation"))
        validateObservation(errors, element, stack);
    }
  }
private void start ( List < ValidationMessage > errors , WrapperElement resource , WrapperElement element , StructureDefinition profile , NodeStack stack ) throws FHIRException { if ( rule ( errors , IssueType . STRUCTURE , element . line ( ) , element . col ( ) , stack . getLiteralPath ( ) , profile . hasSnapshot ( ) , "StructureDefinition has no snapshot - validation is against the snapshot, so it must be provided" ) ) { validateElement ( errors , profile , profile . getSnapshot ( ) . getElement ( ) . get ( 0 ) , null , null , resource , element , element . getName ( ) , stack , false ) ; checkDeclaredProfiles ( errors , resource , element , stack ) ; if ( element . getResourceType ( ) . equals ( "Bundle" ) ) validateBundle ( errors , element , stack ) ; if ( element . getResourceType ( ) . equals ( "Observation" ) ) validateObservation ( errors , element , stack ) ; } }
the instance validator had no issues against the base resource profile