code: def getSiblings(self, retracted=False):
          
          worksheet = self.getWorksheet()
          requestuid = self.getRequestUID()
          if not requestuid or not worksheet:
              return []
  
          siblings = []
          retracted_states = [STATE_RETRACTED, STATE_REJECTED]
          analyses = worksheet.getAnalyses()
          for analysis in analyses:
              if analysis.UID() == self.UID():
                  # Exclude me from the list
                  continue
  
              if not IRequestAnalysis.providedBy(analysis):
                  # Exclude analyses that do not have an analysis request
                  # associated
                  continue
  
              if analysis.getRequestUID() != requestuid:
                  # Exclude those analyses that does not belong to the same
                  # analysis request I belong to
                  continue
  
              if retracted is False and in_state(analysis, retracted_states):
                  # Exclude retracted analyses
                  continue
  
              siblings.append(analysis)
  
          return siblings
docs: Return the list of duplicate analyses that share the same Request and
          are included in the same Worksheet as the current analysis. The current
          duplicate is excluded from the list.
          :param retracted: If false, retracted/rejected siblings are dismissed
          :type retracted: bool
          :return: list of siblings for this analysis
          :rtype: list of IAnalysis