code: private List<ItemState> getItemStatesList(NodeData parentData, InternalQName name, int state, String skipIdentifier)
     {
        List<ItemState> states = new ArrayList<ItemState>();
        for (ItemState itemState : changesLog.getAllStates())
        {
           ItemData stateData = itemState.getData();
           if (isParent(stateData, parentData) && stateData.getQPath().getName().equals(name))
           {
              if ((state != 0) && (state != itemState.getState()) || stateData.getIdentifier().equals(skipIdentifier))
              {
                 continue;
              }
              states.add(itemState);
  
           }
        }
        return states;
     }
docs: Return list of changes for item.
  
  @param parentData - parent item
  @param name - item name
  @param state - state
  @param skipIdentifier - skipped identifier.
  @return