src/main/java/seedu/address/logic/parser/parserUndone/UndoneCommandParser.java
public UndoneCommandBase parse(String args) throws ParseException {
        requireNonNull(args);
        ArgumentMultimap argMultimap =
                ArgumentTokenizer.tokenize(args, PREFIX_STUDENTID, PREFIX_ASSIGNMENTID);

        AssignDescriptor assignDescriptor = new AssignDescriptor();

        if (argMultimap.getValue(PREFIX_STUDENTID).isPresent()) {
            assignDescriptor.setAssignEntity(PREFIX_STUDENTID, ParserUtil.parseID(argMultimap.getValue(PREFIX_STUDENTID).get()));
        }

        if (argMultimap.getValue(PREFIX_ASSIGNMENTID).isPresent()) {
            assignDescriptor.setAssignEntity(PREFIX_ASSIGNMENTID, ParserUtil.parseID(argMultimap.getValue(PREFIX_ASSIGNMENTID).get()));
        }


        if (assignDescriptor.getAllAssignKeys().size() != 2) {
            throw new ParseException(
                    String.format(MESSAGE_USAGE, "")
            );
        }

        return UndoneCommandFactory.getCommand(assignDescriptor);
    }
/**
     * Parses the given arguments into context of AssignCommand (actually a class that inherits
     * from AssignCommand, decided by AssignCommandFactory)
     *
     * @throws ParseException if the user input does not conform the expected format
     */
Parses the given arguments into context of AssignCommand (actually a class that inherits
from AssignCommand, decided by AssignCommandFactory)

@throws ParseException if the user input does not conform the expected format
Parses the given arguments into context of AssignCommand ( actually a class that inherits from AssignCommand decided by AssignCommandFactory ) @throws ParseException if the user input does not conform the expected format
public UndoneCommandBase parse(String args) throws ParseException {
        requireNonNull(args);
        ArgumentMultimap argMultimap =
                ArgumentTokenizer.tokenize(args, PREFIX_STUDENTID, PREFIX_ASSIGNMENTID);
        AssignDescriptor assignDescriptor = new AssignDescriptor();
        if (argMultimap.getValue(PREFIX_STUDENTID).isPresent()) {
            assignDescriptor.setAssignEntity(PREFIX_STUDENTID, ParserUtil.parseID(argMultimap.getValue(PREFIX_STUDENTID).get()));
        }
        if (argMultimap.getValue(PREFIX_ASSIGNMENTID).isPresent()) {
            assignDescriptor.setAssignEntity(PREFIX_ASSIGNMENTID, ParserUtil.parseID(argMultimap.getValue(PREFIX_ASSIGNMENTID).get()));
        }
        if (assignDescriptor.getAllAssignKeys().size() != 2) {
            throw new ParseException(
                    String.format(MESSAGE_USAGE, "")
            );
        }
        return UndoneCommandFactory.getCommand(assignDescriptor);
    }
public UndoneCommandBase parse ( String args ) throws ParseException { requireNonNull ( args ) ; ArgumentMultimap argMultimap = ArgumentTokenizer . tokenize ( args , PREFIX_STUDENTID , PREFIX_ASSIGNMENTID ) ; AssignDescriptor assignDescriptor = new AssignDescriptor ( ) ; if ( argMultimap . getValue ( PREFIX_STUDENTID ) . isPresent ( ) ) { assignDescriptor . setAssignEntity ( PREFIX_STUDENTID , ParserUtil . parseID ( argMultimap . getValue ( PREFIX_STUDENTID ) . get ( ) ) ) ; } if ( argMultimap . getValue ( PREFIX_ASSIGNMENTID ) . isPresent ( ) ) { assignDescriptor . setAssignEntity ( PREFIX_ASSIGNMENTID , ParserUtil . parseID ( argMultimap . getValue ( PREFIX_ASSIGNMENTID ) . get ( ) ) ) ; } if ( assignDescriptor . getAllAssignKeys ( ) . size ( ) != 2 ) { throw new ParseException ( String . format ( MESSAGE_USAGE , "" ) ) ; } return UndoneCommandFactory . getCommand ( assignDescriptor ) ; }
Parses the given arguments into context of AssignCommand (actually a class that inherits
 from AssignCommand, decided by AssignCommandFactory)
Parses the given arguments into context of AssignCommand ( actually a class that inherits from AssignCommand decided by AssignCommandFactory )