code: public static Variable deserialize(String s,
                                         VariableType variableType,
                                         List<String> dataTypes) {
          Variable var = new Variable(variableType);
          String[] varParts = s.split(":");
          if (varParts.length > 0) {
              String name = varParts[0];
              if (!name.isEmpty()) {
                  var.setName(name);
                  if (varParts.length == 2) {
                      String dataType = varParts[1];
                      if (!dataType.isEmpty()) {
                          if (dataTypes != null && dataTypes.contains(dataType)) {
                              var.setDataType(dataType);
                          } else {
                              var.setCustomDataType(dataType);
                          }
                      }
                  }
              }
          }
          return var;
      }
docs: Deserializes a variable, checking whether the datatype is custom or not
  @param s
  @param variableType
  @param dataTypes
  @return