private static BSSVDBWhereClauseBuilder buildF560205WhereClause(
      IContext context, BE_HumanTaskQuery internalVO) {
    // specify condition records must meet to be selected
    boolean processFlag = false;
    ArrayList whereFields = new ArrayList();
    // BSSVDBWhereField[] whereFields = new BSSVDBWhereField[5];
    // Include workflow type
    String workflowType = internalVO.getF560205_Z56WFTP();
    String workflowLevel = internalVO.getF560205_SLCUSTFN();
    if (workflowType != null && workflowLevel != null) {
      whereFields.add(
          new BSSVDBWhereField(
              null, new BSSVDBField("F560205.Z56WFTP"), IDBService.EQUALS, workflowType));
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND,
              new BSSVDBField("F560205.SLCUSTFN"),
              IDBService.EQUALS,
              workflowLevel));
      processFlag = true;
    } else return null;

    // include workflow branch if present
    String workflowBranch = internalVO.getF560205_MCU();
    if (workflowBranch != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.MCU"), IDBService.EQUALS, workflowBranch));
      processFlag = true;
    }

    // include alternate key 1 if present
    String altKey1 = internalVO.getF560205_ALKY();
    if (altKey1 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.ALKY"), IDBService.EQUALS, altKey1));
      processFlag = true;
    }
    // include alternate key 2 if present
    String altKey2 = internalVO.getF560205_ALKY1();
    if (altKey2 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.ALKY1"), IDBService.EQUALS, altKey2));
      processFlag = true;
    }
    // include alternate key 3 if present
    String altKey3 = internalVO.getF560205_Z56ALKY3();
    if (altKey3 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.Z56ALKY3"), IDBService.EQUALS, altKey3));
      processFlag = true;
    }
    // include alternate key 4 if present
    String altKey4 = internalVO.getF560205_Z56ALKY4();
    if (altKey4 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.Z56ALKY4"), IDBService.EQUALS, altKey4));
      processFlag = true;
    }
    // include alternate key 5 if present
    String altKey5 = internalVO.getF560205_Z56ALKY5();
    if (altKey5 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.Z56ALKY5"), IDBService.EQUALS, altKey5));
      processFlag = true;
    }
    // include alternate key 6 if present
    String altKey6 = internalVO.getF560205_Z56ALKY6();
    if (altKey6 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.Z56ALKY6"), IDBService.EQUALS, altKey6));
      processFlag = true;
    }
    // include alternate key 7 if present
    String altKey7 = internalVO.getF560205_Z56ALKY7();
    if (altKey7 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.Z56ALKY7"), IDBService.EQUALS, altKey7));
      processFlag = true;
    }
    // include alternate key 8 if present
    String altKey8 = internalVO.getF560205_Z56ALKY8();
    if (altKey8 != null) {
      whereFields.add(
          new BSSVDBWhereField(
              IDBService.AND, new BSSVDBField("F560205.Z56ALKY8"), IDBService.EQUALS, altKey8));
      processFlag = true;
    }
    // build the where clause
    int size = whereFields.size();
    BSSVDBWhereField[] whereArray = new BSSVDBWhereField[size];
    for (int x = 0; x < size; x++) {
      whereArray[x] = (BSSVDBWhereField) whereFields.get(x);
    }

    BSSVDBWhereClauseBuilder whereClause = null;
    if (processFlag == true) {
      whereClause = new BSSVDBWhereClauseBuilder(context, whereArray);
    }
    return whereClause;
  }