@Signature public Memory reset(Environment env, ArrayMemory settings) throws GitAPIException { ResetCommand reset = getWrappedObject().reset(); Memory mode = settings.valueOfIndex("mode"); if (mode.isNotNull()) { reset.setMode(ResetCommand.ResetType.valueOf(mode.toString())); } Memory ref = settings.valueOfIndex("ref"); if (ref.isNotNull()) { reset.setRef(ref.toString()); } reset.disableRefLog(settings.valueOfIndex("disableRefLog").toBoolean()); Memory paths = settings.valueOfIndex("paths"); if (paths.isNotNull()) { ForeachIterator iterator = paths.getNewIterator(env); if (iterator != null) { while (iterator.next()) { reset.addPath(iterator.getValue().toString()); } } else { reset.addPath(paths.toString()); } } Ref call = reset.call(); return GitUtils.valueOf(call); }