code: public void addReferencedProperties(String identifier, List<PropertyData> refProperties)
     {
        boolean inTransaction = cache.isTransactionActive();
        try
        {
           if (!inTransaction)
           {
              cache.beginTransaction();
           }
           cache.setLocal(true);
  
           Set<Object> set = new HashSet<Object>();
           for (PropertyData prop : refProperties)
           {
              putProperty(prop, ModifyChildOption.NOT_MODIFY);
              set.add(prop.getIdentifier());
           }
           cache.putIfAbsent(new CacheRefsId(getOwnerId(), identifier), set);
        }
        finally
        {
           cache.setLocal(false);
           if (!inTransaction)
           {
              dedicatedTxCommit();
           }
        }
     }
docs: {@inheritDoc}