def someMap = [gen:[type:all],
build:[time:6,
types:[
TypeA:[type1:[a:true, b:false, c:true, d:true, e:true],
type2:[a:true, b:false, c:true, d:true, e:true]],
TypeB:[type1:[a:true, b:false, c:true, d:true, e:true]
type2:[a:true, b:false, c:true, d:true, e:true]],
TypeC:[type1:[a:true, b:false, c:true, d:true, e:true],
type2:[a:true, b:false, c:true, d:true, e:true]]]]
someMap.build.types.keySet().removeAll(['TypeA', 'TypeB', 'TypeC'].minus('TypeC')))
def iterator = someMap.build.types.entrySet().iterator()
while (iterator.hasNext()) {
if (iterator.next().key != 'TypeC' ) {
iterator.remove()
}
}