code: void setInstanceId(String instanceId) throws IllegalArgumentException {
          if (instanceId != null && !"".equals(instanceId)) {
  
              subInstanceId = getSubProcessInstanceId(instanceId);
  
              try {
                  long id = getProcessInstanceId(instanceId);
                  mainInstanceId = id < 0 ? null : new Date(id);
              } catch (NumberFormatException nfe) {
                  throw new IllegalArgumentException(getLocalizedString("LVM_ERROR_INSTANCEID"), nfe);
              }
          }
      }
docs: Parses the instanceId into the requested main process instanceId and the subprocess instanceid. The main
  process instanceId must be a long value as the main instance Id is a timestamp.
  
  @param instanceId - the instanceId requested by the user