import java.util.*;
import java.io.*;
import java.util.stream.*;
 
class Main
{
        final List
<Filter
> list 
= Arrays.
asList(new Filter
("status", 
"equal", 
"active"),
                 new Filter("status", "equal", "inactive"), new Filter("name", "equal", "jhon"),
                new Filter("id", "equal", 123));
        final Map
<Boolean, List
<Filter
>> parts 
= list.
stream()         .collect(Collectors.partitioningBy(f -> "status".equals(f.getKey())));
		final Object[] statuses 
= parts.
get(true).
stream().
map(Filter
::getValue
).
toArray(); 		final List<Filter> result = parts.get(false);
		if (statuses.length != 0) {
		    result.add(0, new Filter("status", "in", statuses));
		}
        result.
forEach(System.
out::println
);    }
}
 
class Filter {
 
        super();
        this.key = key;
        this.operator = operator;
        this.value = value;
    }
 
        return key;
    }
 
        return operator;
    }
 
        return value;
    }
 
    @Override
        StringBuilder builder = new StringBuilder();
        builder.append("Filter [key=").append(key).append(", operator=").append(operator).append(", value=")
                .
append(value 
!= null && value.
getClass().
isArray() ? Arrays.
deepToString((Object[])value
) : value
)                .append("]");
        return builder.toString();
    }
}
				aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS4qOwoKY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIGZpbmFsIExpc3Q8RmlsdGVyPiBsaXN0ID0gQXJyYXlzLmFzTGlzdChuZXcgRmlsdGVyKCJzdGF0dXMiLCAiZXF1YWwiLCAiYWN0aXZlIiksCiAgICAgICAgICAgICAgICBuZXcgRmlsdGVyKCJzdGF0dXMiLCAiZXF1YWwiLCAiaW5hY3RpdmUiKSwgbmV3IEZpbHRlcigibmFtZSIsICJlcXVhbCIsICJqaG9uIiksCiAgICAgICAgICAgICAgICBuZXcgRmlsdGVyKCJpZCIsICJlcXVhbCIsIDEyMykpOwogICAgICAgIGZpbmFsIE1hcDxCb29sZWFuLCBMaXN0PEZpbHRlcj4+IHBhcnRzID0gbGlzdC5zdHJlYW0oKQogICAgICAgIC5jb2xsZWN0KENvbGxlY3RvcnMucGFydGl0aW9uaW5nQnkoZiAtPiAic3RhdHVzIi5lcXVhbHMoZi5nZXRLZXkoKSkpKTsKCQlmaW5hbCBPYmplY3RbXSBzdGF0dXNlcyA9IHBhcnRzLmdldCh0cnVlKS5zdHJlYW0oKS5tYXAoRmlsdGVyOjpnZXRWYWx1ZSkudG9BcnJheSgpOwoJCWZpbmFsIExpc3Q8RmlsdGVyPiByZXN1bHQgPSBwYXJ0cy5nZXQoZmFsc2UpOwoJCWlmIChzdGF0dXNlcy5sZW5ndGggIT0gMCkgewoJCSAgICByZXN1bHQuYWRkKDAsIG5ldyBGaWx0ZXIoInN0YXR1cyIsICJpbiIsIHN0YXR1c2VzKSk7CgkJfQogICAgICAgIHJlc3VsdC5mb3JFYWNoKFN5c3RlbS5vdXQ6OnByaW50bG4pOwogICAgfQp9CgpjbGFzcyBGaWx0ZXIgewogICAgcHJpdmF0ZSBTdHJpbmcga2V5OwogICAgcHJpdmF0ZSBTdHJpbmcgb3BlcmF0b3I7CiAgICBwcml2YXRlIE9iamVjdCB2YWx1ZTsKCiAgICBwdWJsaWMgRmlsdGVyKFN0cmluZyBrZXksIFN0cmluZyBvcGVyYXRvciwgT2JqZWN0IHZhbHVlKSB7CiAgICAgICAgc3VwZXIoKTsKICAgICAgICB0aGlzLmtleSA9IGtleTsKICAgICAgICB0aGlzLm9wZXJhdG9yID0gb3BlcmF0b3I7CiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0S2V5KCkgewogICAgICAgIHJldHVybiBrZXk7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXRPcGVyYXRvcigpIHsKICAgICAgICByZXR1cm4gb3BlcmF0b3I7CiAgICB9CgogICAgcHVibGljIE9iamVjdCBnZXRWYWx1ZSgpIHsKICAgICAgICByZXR1cm4gdmFsdWU7CiAgICB9CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgU3RyaW5nIHRvU3RyaW5nKCkgewogICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgYnVpbGRlci5hcHBlbmQoIkZpbHRlciBba2V5PSIpLmFwcGVuZChrZXkpLmFwcGVuZCgiLCBvcGVyYXRvcj0iKS5hcHBlbmQob3BlcmF0b3IpLmFwcGVuZCgiLCB2YWx1ZT0iKQogICAgICAgICAgICAgICAgLmFwcGVuZCh2YWx1ZSAhPSBudWxsICYmIHZhbHVlLmdldENsYXNzKCkuaXNBcnJheSgpID8gQXJyYXlzLmRlZXBUb1N0cmluZygoT2JqZWN0W10pdmFsdWUpIDogdmFsdWUpCiAgICAgICAgICAgICAgICAuYXBwZW5kKCJdIik7CiAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKICAgIH0KfQ==
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		Filter [key=status, operator=in, value=[active, inactive]]
Filter [key=name, operator=equal, value=jhon]
Filter [key=id, operator=equal, value=123]