code: public Effort effort(double value, Workitem item, Member member,
                           DateTime date, Map<String, Object> attributes) throws IllegalStateException {
          if (!instance.getConfiguration().effortTrackingEnabled) {
              throw new IllegalStateException("Effort Tracking is disabled.");
          }
  
          instance.preventTrackingLevelAbuse(item);
  
          Effort actual = instance.createNew(Effort.class, item);
          actual.setValue(value);
  
          if (member != null) {
              actual.setMember(member);
          }
  
          if (date != null) {
              actual.setDate(date);
          }
          addAttributes(actual, attributes);
          actual.save();
          return actual;
      }
docs: Create a new effort record with a value and date, assigned to the given
  workitem and member.
  
  @param value      the value of the effort record.
  @param item       the workitem to assign the effort record to.
  @param member     the member to assign the effort record to. If is null then
  member not set.
  @param date       the date to log the effort record against. If is null then
  date not set.
  @param attributes additional attributes for the Effort.
  @return A newly minted Effort Record that exists in the VersionOne
  system.
  @throws IllegalStateException if Effort tracking is not enabled.