code: public Version[] getSuccessors() throws RepositoryException
     {
        checkValid();
  
        PropertyData successorsData =
           (PropertyData)dataManager.getItemData(nodeData(), new QPathEntry(Constants.JCR_SUCCESSORS, 0),
              ItemType.PROPERTY);
  
        if (successorsData == null)
        {
           return new Version[0];
        }
  
        List<ValueData> successorsValues = successorsData.getValues();
        Version[] successors = new Version[successorsValues.size()];
  
        for (int i = 0; i < successorsValues.size(); i++)
        {
           String videntifier = ValueDataUtil.getString(successorsValues.get(i));
           VersionImpl version = (VersionImpl)dataManager.getItemByIdentifier(videntifier, true);
           if (version != null)
           {
              successors[i] = version;
           }
           else
           {
              throw new RepositoryException("Successor version is not found " + videntifier + ", this version "
                 + getPath());
           }
        }
  
        return successors;
     }
docs: {@inheritDoc}