code: public static Assignment deserialize(AssignmentData assignmentData,
                                           String sAssignment) {
          if (sAssignment == null || sAssignment.isEmpty()) {
              return null;
          }
  
          // Parse the assignment string
          VariableType assignmentType = null;
          if (sAssignment.startsWith(INPUT_ASSIGNMENT_PREFIX)) {
              assignmentType = VariableType.INPUT;
              sAssignment = sAssignment.substring(INPUT_ASSIGNMENT_PREFIX.length());
          } else if (sAssignment.startsWith(OUTPUT_ASSIGNMENT_PREFIX)) {
              assignmentType = VariableType.OUTPUT;
              sAssignment = sAssignment.substring(OUTPUT_ASSIGNMENT_PREFIX.length());
          }
          String variableName = null;
          String processVariableName = null;
          String constant = null;
          if (sAssignment.contains(ASSIGNMENT_OPERATOR_TOVARIABLE)) {
              int i = sAssignment.indexOf(ASSIGNMENT_OPERATOR_TOVARIABLE);
              if (assignmentType == VariableType.INPUT) {
                  processVariableName = sAssignment.substring(0,
                                                              i);
                  variableName = sAssignment.substring(i + ASSIGNMENT_OPERATOR_TOVARIABLE.length());
              } else {
                  variableName = sAssignment.substring(0,
                                                       i);
                  processVariableName = sAssignment.substring(i + ASSIGNMENT_OPERATOR_TOVARIABLE.length());
              }
          } else if (sAssignment.contains(ASSIGNMENT_OPERATOR_TOCONSTANT)) {
              int i = sAssignment.indexOf(ASSIGNMENT_OPERATOR_TOCONSTANT);
              variableName = sAssignment.substring(0,
                                                   i);
              constant = stringUtils.urlDecode(sAssignment.substring(i + ASSIGNMENT_OPERATOR_TOCONSTANT.length()));
          }
  
          // Create the new assignment
          return new Assignment(assignmentData,
                                variableName,
                                assignmentType,
                                processVariableName,
                                constant);
      }
docs: Deserializes an assignment string
  e.g. [din]str1->inStr, [din]inStrConst=TheString, [dout]outStr1->str1
  @param sAssignment
  @return Assignment