code: public boolean setDataUsage(Map<DataAttribute, Set<DataUsage>> dataUsage) throws ParameterException, LockingException {
                  Validate.notNull(dataUsage);
                  Validate.notEmpty(dataUsage.keySet());
                  Validate.noNullElements(dataUsage.keySet());
                  Validate.noNullElements(dataUsage.values());
  
                  if (isFieldLocked(EntryField.DATA)) {
                          if (!this.dataUsage.equals(dataUsage)) {
                                  throw new LockingException(EntryField.DATA);
                          }
                          return false;
                  } else {
                          this.dataUsage = dataUsage;
                          return true;
                  }
          }
docs: Sets the given data usage as data usage for this entry.
  
  @param dataUsage The data usage to adopt.
  @return <code>true</code> if the current data usage was modified;<br>
  <code>false</code> otherwise.
  @throws ParameterException if the given data usage is invalid
  (<code>null</code> or empty).
  @throws LockingException if the corresponding field is locked <br>
  and the given data usage is not the same than the current one.