public List<SObject> listBucketObjects(SBucket bucket, String prefix, String marker, int maxKeys) {
StringBuffer sb = new StringBuffer();
List<Object> params = new ArrayList<Object>();
sb.append("from SObject o left join fetch o.items where deletionMark is null and o.bucket=?");
params.add(new EntityParam(bucket));
if(prefix != null && !prefix.isEmpty()) {
sb.append(" and o.nameKey like ?");
params.add(new String(prefix + "%"));
}